#include <iostream>
#include <chrono>
#include "frame_producer_consumer.h"

int main() {
    std::cout << "视频流畅度统计模块启动..." << std::endl;
    std::cout << "按Ctrl+C退出程序" << std::endl;
    
    // 配置统计窗口为60秒
    const auto STATISTICS_WINDOW = std::chrono::seconds(60);
    
    // 创建组件
    FrameQueue frame_queue(50);
    FrameStatistics statistics(STATISTICS_WINDOW);
    FrameProducer producer(frame_queue, 1024 * 50, 1024 * 200); // 帧大小50KB-200KB
    FrameConsumer consumer(frame_queue, statistics);
    StatisticsTimer timer(statistics, STATISTICS_WINDOW);
    
    // 启动所有组件
    producer.start();
    consumer.start();
    timer.start();
    
    // 等待用户中断
    while (true) {
        std::this_thread::sleep_for(std::chrono::seconds(1));
    }
    
    // 清理（实际中不会执行到这里，因为上面是无限循环）
    producer.stop();
    frame_queue.stop();
    consumer.stop();
    timer.stop();
    
    return 0;
}
